package com.xue.geo.area;

import com.xue.domain.AreaInfo;
import com.xue.geo.domain.Coordinate;

import java.math.BigDecimal;

/**
 * @author xue
 * @create 2022-09-16 17:15
 */
public abstract class AreaJudge {

    /**
     * 真实偏移量和实际的比值
     */
    protected static final BigDecimal PROPORTION = BigDecimal.valueOf(100);

    /**
     * 初始化空间方法，需要传入
     *
     * @param areaBase
     * @return
     */
    public abstract AreaJudge createArea(AreaInfo areaBase);

    /**
     * 判断该点是否在区域内部，入参是完整的double坐标位置
     *
     * @param coordinate
     * @return
     */
    public abstract Boolean pointInside(Coordinate coordinate);

}
